#pragma once 

#include "Action.h"
#include "State.h"
#include "StateGraph.h"



class CActionTest : public CAction
{
protected:
	CString m_szMessage;
public:
	CActionTest(CString szMessage);
	void Execute();		
};

typedef SmartPtr<CActionTest> CActionTestPtr;

class CStateTest : public CState
{
public:
	CStateTest(const char_t *szName);
};

typedef SmartPtr<CStateTest> CStateTestPtr;

class CTransitionTest : public CTransition
{
public:
	CTransitionTest(SmartPtr<CStateBase> &pState, SmartPtr<CStateBase> &pNextState);
	virtual bool_t IsTrigger();
};

typedef SmartPtr<CTransitionTest> CTransitionTestPtr;

class CFSMTest
{
public:
	CFSMTest();
	void Execute();
};

